Machine Devices (MDs) that are used in Internet of Things (IoT) scenarios often need to communicate with other hosts or cloud services at the Internet using a communication network such as a wide area network, like a wireless network, for instance in the form of a cellular network. The communication patterns and hence requirements for the wide area network capabilities vary considerably from one application to another.
A simple temperature sensor may for instance send small amounts of data every one hour or so, while a lock application may require an incoming signal a couple of times a day. A surveillance monitoring application may on the other hand constantly (or occasionally) send massive data streams from the MD to the Internet.
Network configurations are not usually static but they can be adjusted to provide different level of service (bandwidth, jitter, packet loss, etc.) or other functionality (e.g., how quickly is a device is (if at all) reachable from the Internet).
A conventional user terminal, often denoted user equipment (UE), is able to use various mechanisms towards the wireless communication network for configuring some functionality, such as Differentiated Services (DiffServ) signalling and 3rd Generation Partnership Project (3GPP) network specific signalling. However, this functionality is not often available for general applications (e.g., Application Protocol Interfaces (APIs) are not available) and furthermore implementing such functionality on a resource constrained device (e.g. temperature sensor using a communication stack on microcontroller with only couple of kilobytes of Random Access Memory (RAM)) is not usually feasible due to lack of space for the protocol stack.
Current wireless communication networks do not expose suitable APIs for MDs to configure network features suitable for the applications.
Furthermore, MDs, especially ones with constrained resources and hence incapable of implementing plethora of communication methods, are ill-fitted to configure the network even if suitable protocols and APIs existed.
For instance, a cellular network may be capable of providing different service levels. Some of the levels may imply different tradeoffs for power usage and communications delay for MDs. Choosing the right tradeoff and service level is important to assure maximum battery life while fulfilling application requirements. However, configuring the underlying communications network may require the abovementioned APIs. More fundamentally, an MD (such as a sensor) may not possess the knowledge to determine what the system level application requirements and optimization possibilities are.
There is thus a need for providing differentiated communication configurations for machine devices based on the requirements placed on these machine devices.